#ifndef AMMO_H_
#define AMMO_H_


#include "../WidgetMovimiento.h"
#include "../WidgetSonido.h"
#include "../Event.h"
#include "../Timer.h"
#include <math.h>

#define PI 3.14159265
#define PIXELS_PER_MOVE 8

enum ammoTypeEnum {AMMO_BULLET,AMMO_MISSILE,AMMO_MINA,AMMO_LASER};

class Ammo : public WidgetMovimiento, public WidgetSonido{
private:
	ammoTypeEnum ammoType;

	int velocity;

	int maxDuration;
	float timeAlive; //El tiempo que la bala estuvo en estado drawable
	Timer timer;
protected:

	int getOffsetX();
	int getOffsetY();

public:
	Ammo(ammoTypeEnum ammoType,int posX, int posY, Widget *parent, int angle, int duration,std::string ammoImage,int ammoVelocity,int damage,std::string ammoSoundEffect);

	virtual void handleColision(WidgetMovimiento* with);

	virtual void resolve();

	virtual ~Ammo();

    ammoTypeEnum getAmmoType() const;
};

#endif /* AMMO_H_ */
